import {VantComponent} from '../common/component'
import {useParent} from '../common/relation'
import {link} from '../mixins/link'

VantComponent({
  relation: useParent('grid'),
  classes: ['content-class', 'icon-class', 'text-class'],
  mixins: [link],
  props: {
    icon: String,
    iconColor: String,
    iconPrefix: {
      type: String,
      value: 'van-icon',
    },
    dot: Boolean,
    info: null,
    badge: null,
    text: String,
    useSlot: Boolean,
  },
  data: {
    viewStyle: '',
  },
  mounted() {
    this.updateStyle()
  },
  methods: {
    updateStyle() {
      if (!this.parent) {
        return
      }
      const {data, children} = this.parent
      const {columnNum, border, square, gutter, clickable, center, direction, reverse, iconSize,} = data
      this.setData({
        center,
        border,
        square,
        gutter,
        clickable,
        direction,
        reverse,
        iconSize,
        index: children.indexOf(this),
        columnNum,
      })
    },
    onClick() {
      this.$emit('click')
      this.jumpLink()
    },
  },
})
